#导入库
from flask import Flask,render_template,request,redirect
#创建一个对象实例
app = Flask(__name__)
#给定访问路径
@app.route("/")
def index():
    return render_template('index.html')
#处理用户登录请求
@app.route("/login",methods=['POST','GET'])
def login():
    username = request.form['username']#接受用户名
    userpwd = request.form['userpwd']#接受密码
    if username == 'admin':
        if userpwd == 'admin123':
            return redirect("scrawl") #跳转爬虫页面
        else:
            return redirect("/") #返回登陆
    else:
        return redirect("/")#返回登陆
    return "ok"
@app.route("/scrawl")
def scrawler():
    return render_template('scrawl.html')

@app.route('/start',methods=['POST','GET'])
def start():
    name=request.form['targetname']
    url=request.form['targeturl']
    #调用爬虫函数
    return str(crawl(url,selector='p'))


import requests
from bs4 import BeautifulSoup
def crawl(url,selector):
    headers={
        'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
    }
    #获取源代码
    htmlcodes = requests.get(url,headers=headers).text
    #解析源代码
    bs = BeautifulSoup(htmlcodes,'html.parser')
    #根据选择器返回文本
    return[item.text for item in bs.select(selector=selector)]
if __name__=="__main__":
    app.run()
